<?php

/**
 * Metodo para retornar a frequencia em que um termo aparece em um texto
 * @param string $texto
 * @param string $termo
 * @return number
 * @since 07/04/2012
 */
function contaFrequencia($texto,$termo)
{
	$frequencia = 0;
	$tempTexto = explode(" ",$texto);
	while(@$posicaoTermo!==false){
		$posicaoTermo = array_search($termo,$tempTexto);
		if($posicaoTermo!==false){
			unset($tempTexto[$posicaoTermo]);
			$frequencia++;
		}
	}
	return $frequencia;
}

/**
* Metodo para verificar se um termo ja existe na tabela de termos
* @since 07/04/2012
* @return int
*/
function existeTermo($term)
{
	$sql = "SELECT 	ni,
					idtb_termo as id 
			FROM 
					tb_termo
			WHERE 
					termo = '$term'";
	$result = mysql_query($sql);
	$result = mysql_num_rows($result);
	return $result;
}

/**
* Metodo para inserir um termo que não existe na tabela de termos
* @since 16/04/2012
* @return boolean
*/
function insereTermo($term)
{
	$sql = "INSERT INTO tb_termo (termo,ni) 
			VALUES ('$term',1)";
	
	$result = mysql_query($sql);
	
}

/**
* Metodo para atualizar o ni de um termo que ja existe na tabela de termos
* @since 16/04/2012
* @return boolean
*/
function updateTermo($term)
{
	$sql = "UPDATE tb_termo t
			SET 	t.ni=ni+1 
			WHERE 	t.termo = '$term'";
	
	$result = mysql_query($sql);
	
}

/**
 * Metodo que retorna o numero de documentos em que o termo aparece (ni)
 * @param string $term
 * @since 18/04/2012
 * @return int
 */
function retornaNi($term)
{
	$sql = "SELECT t.ni as ni
			FROM	tb_termo as t 
			WHERE 	t.termo = '$term'";
	
	$result = mysql_query($sql);
	$ni = mysql_fetch_assoc($result);	
	return $ni['ni'];
	
}


/**
 * Metodo para inserir novo termo na tabela de RI
 * @param int $idcampanha
 * @param string $term
 * @param int $freq
 * @param float $w
 * @return boolean
 * @since 16/04/2012
 */
function insereRI($idcampanha,$term,$freq,$w)
{
	$sql = "INSERT INTO tb_ri (campanha_idcampanha,termo,frequencia,peso) 
			VALUES ($idcampanha,'$term',$freq,$w)";
	
	$result = mysql_query($sql);
	
}


/**
* Metodo para retornar todas as campanhas agendadas e não processadas
* @since 11/04/2012
* @return object mysql_query_result
*/
function listaCampanhas ()
{
	$sql = "SELECT  c.idcampanha,
					c.assunto, 
					c.nome, 
					ce.html 
			FROM 
					campanha as c, 
					campanha_enviar as ce
			WHERE 
					c.idcampanha = ce.idcampanha 
					AND c.status = 1 
					AND c.processado = 0";
	$campanhas = mysql_query($sql);
	return $campanhas;
}

/**
 * Metodo para marcar campanha como processado
 * @param int $idcampanha
 * @return boolean
 * @since 18/04/2012
 */
function processarCampanha ($idcampanha)
{
	$sql = "UPDATE campanha as c 
			SET	   c.processado = 1							
			WHERE  c.idcampanha = $idcampanha";
	$result = mysql_query($sql);	
	
}

/**
* Metodo para retornar a quantidade de campanhas ja enviadas
* @since 11/04/2012
*/
function countCampanhas ()
{
	$sql = "SELECT 	count(1) as count
			FROM 
					campanha as c 
			WHERE 
					c.status = 3 
					AND c.processado = 1";
	$count = mysql_query($sql);
	$N = mysql_fetch_assoc($count);
	return $N['count'];
}
?>